package com.kk.xhr.admin.biz;

import com.kk.xhr.admin.controller.request.TrainAddRequest;
import com.kk.xhr.admin.controller.request.TrainModifyRequest;
import com.kk.xhr.admin.controller.request.TrainQueryRequest;
import com.kk.xhr.admin.controller.vo.TrainVO;
import com.kk.xhr.common.pojo.TrainStatusEnum;
import com.kk.xhr.web.vo.PageVO;

import java.util.List;

/**
 * 培训biz服务接口
 *
 * @author kkmystery
 * @version 1.0 2021/3/31
 * @since 1.0.0
 */
public interface ITrainBizService {
    /**
     * 分页查询培训记录
     *
     * @param request 查询请求
     * @return 培训记录
     */
    PageVO<TrainVO> queryPage(TrainQueryRequest request);

    /**
     * 查询我的培训记录
     *
     * @param userId 用户id
     * @return 培训记录
     */
    List<TrainVO> queryMine(Long userId);

    /**
     * 添加培训
     *
     * @param request 培训请求
     */
    void add(TrainAddRequest request);

    /**
     * 修改培训
     *
     * @param id      主键id
     * @param request 修改请求
     */
    void modify(Long id, TrainModifyRequest request);

    void modifyStatus(Long id, TrainStatusEnum status);
}
